home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / blkpg.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  2KB  |  59 lines

  1. #ifndef _LINUX_BLKPG_H
  2. #define _LINUX_BLKPG_H
  3.  
  4. /*
  5.  * Partition table and disk geometry handling
  6.  *
  7.  * A single ioctl with lots of subfunctions:
  8.  *
  9.  * Device number stuff:
  10.  *    get_whole_disk()        (given the device number of a partition,
  11.  *                               find the device number of the encompassing disk)
  12.  *    get_all_partitions()    (given the device number of a disk, return the
  13.  *                 device numbers of all its known partitions)
  14.  *
  15.  * Partition stuff:
  16.  *    add_partition()
  17.  *    delete_partition()
  18.  *    test_partition_in_use()    (also for test_disk_in_use)
  19.  *
  20.  * Geometry stuff:
  21.  *    get_geometry()
  22.  *    set_geometry()
  23.  *    get_bios_drivedata()
  24.  *
  25.  * For today, only the partition stuff - aeb, 990515
  26.  */
  27.  
  28. #include <linux/ioctl.h>
  29.  
  30. #define BLKPG      _IO(0x12,105)
  31.  
  32. /* The argument structure */
  33. struct blkpg_ioctl_arg {
  34.         int op;
  35.         int flags;
  36.         int datalen;
  37.         void *data;
  38. };
  39.  
  40. /* The subfunctions (for the op field) */
  41. #define BLKPG_ADD_PARTITION    1
  42. #define BLKPG_DEL_PARTITION    2
  43.  
  44. /* Sizes of name fields. Unused at present. */
  45. #define BLKPG_DEVNAMELTH    64
  46. #define BLKPG_VOLNAMELTH    64
  47.  
  48. /* The data structure for ADD_PARTITION and DEL_PARTITION */
  49. struct blkpg_partition {
  50.     long long start;        /* starting offset in bytes */
  51.     long long length;        /* length in bytes */
  52.     int pno;            /* partition number */
  53.     char devname[BLKPG_DEVNAMELTH];    /* partition name, like sda5 or c0d1p2,
  54.                        to be used in kernel messages */
  55.     char volname[BLKPG_VOLNAMELTH];    /* volume label */
  56. };
  57.  
  58. #endif /* _LINUX_BLKPG_H */
  59.